package com.mcxx.modules.nopage.dto;

import com.mcxx.modules.annotations.TableInfoAnnotations;
import com.mcxx.modules.annotations.TableInsertMethod;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


@Data
public class HNDBSalvationEFileDTO {

    @ApiModelProperty(value = "档案编号")
    private String documentCode;

    @ApiModelProperty(value = "申请人")
    private String name;

    @ApiModelProperty(value = "家庭住址")
    private String address;

    @ApiModelProperty(value = "救助类型")
    private String salvationType;

    @ApiModelProperty(value = "乡镇")
    private String town;

    @ApiModelProperty(value = "社区")
    private String area;

    @ApiModelProperty(value = "经办人")
    private String crName;

    @ApiModelProperty(value = "创建年")
    private String crYear;

    @ApiModelProperty(value = "创建月")
    private String crMonth;

    @ApiModelProperty(value = "创建日")
    private String crDay;

    @ApiModelProperty(value = "家庭人数")
    private String famNumber;

    @ApiModelProperty(value = "户籍地址")
    private String regAddress;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "年龄")
    private String age;

    @ApiModelProperty(value = "联系电话")
    private String telephone;

    @ApiModelProperty(value = "身份证号码")
    private String idCard;

    @ApiModelProperty(value = "户籍类型")
    private String isFarmer;

    @ApiModelProperty(value = "工资性收入")
    private String PO_incomeForSalarySum;

    @ApiModelProperty(value = "经营性收入")
    private String PO_incomeForBusinessSum;

    @ApiModelProperty(value = "财产性收入")
    private String PO_incomeForPropertySum;

    @ApiModelProperty(value = "转移性收入")
    private String PO_incomeForTransformSum;

    @ApiModelProperty(value = "其他性收入")
    private String PO_incomeForOtherSum;

    @ApiModelProperty(value = "总收入")
    private String PO_incomeForYear;

    @ApiModelProperty(value = "医疗支出")
    private String PO_outcomeForIllnessSum;

    @ApiModelProperty(value = "教育支出")
    private String PO_outcomeForEducationSum;

    @ApiModelProperty(value = "就业支出")
    private String PO_outcomeForWorkingSum;

    @ApiModelProperty(value = "其他支出")
    private String PO_outcomeForOtherSum;

    @ApiModelProperty(value = "总支出")
    private String PO_outcomeForYear;

    @ApiModelProperty(value = "家庭计算收入总计")
    private String PO_incomingForMonth;

    @ApiModelProperty(value = "入户调查年")
    private String PO_surYear;

    @ApiModelProperty(value = "入户调查月")
    private String PO_surMonth;

    @ApiModelProperty(value = "入户调查日")
    private String PO_surDay;

    @ApiModelProperty(value = "入户调查年")
    private String PO_surYear1;

    @ApiModelProperty(value = "入户调查月")
    private String PO_surMonth1;

    @ApiModelProperty(value = "入户调查日")
    private String PO_surDay1;

    @ApiModelProperty(value = "入户调查年")
    private String PO_surYear2;

    @ApiModelProperty(value = "入户调查月")
    private String PO_surMonth2;

    @ApiModelProperty(value = "入户调查日")
    private String PO_surDay2;

    @ApiModelProperty(value = "入户调查人")
    private String PO_surName;

    @ApiModelProperty(value = "入户调查人")
    private String PO_surName1;

    @ApiModelProperty(value = "入户调查人")
    private String PO_surName2;

    @ApiModelProperty(value = "车辆信息")
    private String PO_carInfomation;

    @ApiModelProperty(value = "评议地点")
    private String PO_democAddress;

    @ApiModelProperty(value = "评议时间")
    private String PO_democDate;

    @ApiModelProperty(value = "评议主持人")
    private String PO_democHoster;

    @ApiModelProperty(value = "评议记录员")
    private String PO_democRecorder;

    @ApiModelProperty(value = "评议人数")
    private String PO_democDiscNumber;

    @ApiModelProperty(value = "评议内容")
    private String PO_democContent;

    @ApiModelProperty(value = "评议记录")
    private String PO_democRecord;

    @ApiModelProperty(value = "家庭保障金额")
    private String PO_baseSalary;

    @ApiModelProperty(value = "保障人口")
    private String PO_salvations;

    @ApiModelProperty(value = "保障人口")
    private String PO_salvations1;

    @ApiModelProperty(value = "保障人口")
    private String PO_salvations2;

    @ApiModelProperty(value = "抽查意见")
    private String PO_checkInfo;

    @ApiModelProperty(value = "申请理由")
    private String PO_applyReason;

    @Data
    @ApiModel(value = "申请人和家庭成员信息")
    @TableInfoAnnotations(rowMax = 8)
    public static class ApplyFamilierInfo {
        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 1, rowStart = 2)
        private String name;

        @ApiModelProperty(value = "身份证号")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 2)
        private String idCard;

        @ApiModelProperty(value = "与申请人关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 2)
        private String relation;

        @ApiModelProperty(value = "签字")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 2)
        private String signName;
    }

    @Data
    @ApiModel(value = "家庭生活成员信息")
    @TableInfoAnnotations(rowMax = 8)
    public static class FamilyMemberInfo {

        @ApiModelProperty(value = "家庭表id")
        private String id;

        @ApiModelProperty(value = "姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 5)
        private String name;

        @ApiModelProperty(value = "与户主关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 5)
        private String relation;

        @ApiModelProperty(value = "婚姻状况")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 5)
        private String marriage;

        @ApiModelProperty(value = "户口性质")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 5)
        private String censusType;

        @ApiModelProperty(value = "健康状况")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 5)
        private String healthInfo;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 5)
        private String idCard;

        @ApiModelProperty(value = "就学或就业状况")
        @TableInfoAnnotations(rowIndex = 8, rowStart = 5)
        private String currProfState;

        @ApiModelProperty(value = "月收入")
        @TableInfoAnnotations(rowIndex = 9, rowStart = 5)
        private String incomeForMonth;

        @ApiModelProperty(value = "医保类别")
        @TableInfoAnnotations(rowIndex = 10, rowStart = 5)
        private String medicInsuranceType;
    }

    @Data
    @ApiModel(value = "被赡抚人信息")
    @TableInfoAnnotations(rowMax = 4)
    public static class SupportPeopleInfo {
        @ApiModelProperty(value = "被赡抚人Id")
        private String id;

        @ApiModelProperty(value = "被赡抚人姓名")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 14)
        private String name;

        @ApiModelProperty(value = "被赡抚人关系")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 14)
        private String relation;

        @ApiModelProperty(value = "被赡抚人性别")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 14)
        private String sex;

        @ApiModelProperty(value = "被赡抚人年龄")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 14)
        private String age;

        @ApiModelProperty(value = "家庭情况(被赡抚人基本信息)")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 14)
        private String info;

        @ApiModelProperty(value = "被赡抚人家庭月收入")
        @TableInfoAnnotations(rowIndex = 7, rowStart = 14)
        private String incomeForMonth;
    }

    @Data
    @ApiModel(value = "家庭房产信息")
    @TableInfoAnnotations(rowMax = 2)
    public static class FamilyBuildingsInfo {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 19)
        private String name;

        @ApiModelProperty(value = "房屋价钱")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 19)
        private String houseForPrice;
    }

    @Data
    @ApiModel(value = "家庭成员收入信息")
    @TableInfoAnnotations(rowMax = 6, method = TableInsertMethod.HORIZONTAL)
    public static class FamilyMemberIncome {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 6, colStart = 3)
        private String name;

        @ApiModelProperty(value = "工资性月收入")
        @TableInfoAnnotations(colIndex = 2, rowStart = 6, colStart = 3)
        private String incomeForSalary;

        @ApiModelProperty(value = "经营性月收入")
        @TableInfoAnnotations(colIndex = 3, rowStart = 6, colStart = 3)
        private String incomeForBusiness;

        @ApiModelProperty(value = "财产性月收入")
        @TableInfoAnnotations(colIndex = 4, rowStart = 6, colStart = 3)
        private String incomeForProperty;

        @ApiModelProperty(value = "转移性月收入")
        @TableInfoAnnotations(colIndex = 5, rowStart = 6, colStart = 3)
        private String incomeForTransform;

        @ApiModelProperty(value = "其他性月收入")
        @TableInfoAnnotations(colIndex = 6, rowStart = 6, colStart = 3)
        private String incomeForOther;
    }

    @Data
    @ApiModel(value = "家庭成员支出信息")
    @TableInfoAnnotations(rowMax = 5, method = TableInsertMethod.HORIZONTAL)
    public static class FamilyMemberOutcome {
        @ApiModelProperty(value = "家庭成员姓名")
        @TableInfoAnnotations(colIndex = 1, rowStart = 13, colStart = 3)
        private String name;

        @ApiModelProperty(value = "重病支出")
        @TableInfoAnnotations(colIndex = 2, rowStart = 13, colStart = 3)
        private String outcomeForIllness;

        @ApiModelProperty(value = "就学支出")
        @TableInfoAnnotations(colIndex = 3, rowStart = 13, colStart = 3)
        private String outcomeForEducation;

        @ApiModelProperty(value = "就业支出")
        @TableInfoAnnotations(colIndex = 4, rowStart = 13, colStart = 3)
        private String outcomeForWorking;

        @ApiModelProperty(value = "其他支出")
        @TableInfoAnnotations(colIndex = 6, rowStart = 13, colStart = 3)
        private String outcomeForOther;
    }

    @Data
    @ApiModel(value = "入户调查被赡抚人信息")
    @TableInfoAnnotations(rowMax = 4)
    public static class SurveySupportPeopleInfo {
        @ApiModelProperty(value = "被赡抚人Id")
        private String id;

        @ApiModelProperty(value = "被赡抚人姓名")
        @TableInfoAnnotations(rowIndex = 1, rowStart = 31)
        private String name;

        @ApiModelProperty(value = "被赡抚人性别")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 31)
        private String sex;

        @ApiModelProperty(value = "身份证号码")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 31)
        private String idCard;

        @ApiModelProperty(value = "被赡抚人关系")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 31)
        private String relation;

        @ApiModelProperty(value = "被赡抚人基本信息")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 31)
        private String info;
    }

    @Data
    @ApiModel(value = "特殊人员相关信息")
    @TableInfoAnnotations(rowMax = 3)
    public static class SurveySpecialPeopleInfo {
        @ApiModelProperty(value = "特殊人员姓名")
        @TableInfoAnnotations(rowIndex = 1, rowStart = 37)
        private String name;

        @ApiModelProperty(value = "特殊人员性别")
        @TableInfoAnnotations(rowIndex = 2, rowStart = 37)
        private String sex;

        @ApiModelProperty(value = "特殊人员身份证号")
        @TableInfoAnnotations(rowIndex = 3, rowStart = 37)
        private String idCard;

        @ApiModelProperty(value = "与申请人关系")
        @TableInfoAnnotations(rowIndex = 4, rowStart = 37)
        private String relation;

        @ApiModelProperty(value = "工作单位")
        @TableInfoAnnotations(rowIndex = 5, rowStart = 37)
        private String company;

        @ApiModelProperty(value = "职务")
        @TableInfoAnnotations(rowIndex = 6, rowStart = 37)
        private String job;
    }
}
